1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | VisuElems.g_ClientManager.BeginIteration(); IF pClient^.GlobalData.ClientType = VisuElems.Visu_ClientType.WebVisualization THEN _VisuFbClientTagDataHelper(pClientData := pClient); i := STRING_TO_UINT(_VisuFbClientTagDataHelper.stName); IF i > 0 AND i <= FR_NUM THEN u := i; VisuElems.CURRENTVISU := DEF_VIZU; END_IF END_IF END_WHILE FOR i := 1 TO Freq_Control.FR_NUM DO // check connection to server cTCP_RTU[i].xEnable := FALSE; // reconnect need in next cycle bMBFault[i] := TRUE; tonClientTCP(IN := TON_recon, PT := T_CL_RST); FOR i := 1 TO Freq_Control.FR_NUM DO cTCP_RTU[i](); _VisuFbClientTagDataHelper : VisuElems.VisuFbClientTagDataHelper; WebVisu VisuFbClientTagDataHelper, i: UINT; wUserID: WORD := 0; Ifdrv: ARRAY [1...Freq_Control.FR_NUM] OF IFreqDriver :=[ sHostAddr: ARRAY [1...Freq_Control.FR_NUM] OF STRING := [ '192.168.10.204', '192.168.10.206', '192.168.10.203', '192.168.10.209', '192.168.10.205', '192.168.10.202', '192.168.10.201', '192.168.10.207', '192.168.10.208', '192.168.10.200']; eReqState: ARRAY [1...Freq_Control.FR_NUM] OF REQUEST_STATE := [Freq_Control.FR_NUM(FIRST_REQ)]; wErrCount: ARRAY [1...Freq_Control.FR_NUM] OF WORD := [Freq_Control.FR_NUM(0)]; wFreqNew: ARRAY [1...Freq_Control.FR_NUM] OF WORD := [Freq_Control.FR_NUM(0)]; wFreqAct: ARRAY [1...Freq_Control.FR_NUM] OF WORD := [Freq_Control.FR_NUM(0)]; wFreqRef: ARRAY [1...Freq_Control.FR_NUM] OF WORD := [Freq_Control.FR_NUM(0)]; bStartKey: ARRAY [1...Freq_Control.FR_NUM] OF BOOL; bMBFault: ARRAY [1...Freq_Control.FR_NUM] OF BOOL := [Freq_Control.FR_NUM(FALSE)]; bFreqFault: ARRAY [1...Freq_Control.FR_NUM] OF BOOL := [Freq_Control.FR_NUM(FALSE)]; pI: POINTER TO IFreqDriver; TRUE,TRUE,TRUE,FALSE,FALSE,FALSE,TRUE,FALSE,FALSE,FALSE]; VAR CONSTANT MB_CRASH: UINT := 12; T_CL_RST: TIME := T#10S; // check connection time NO_ERROR: WORD := 0; (* Modbus TCP Slave Device: 192.168.10.50(60) ( 502) 04H: READ INPUT REGISTERS 7...10 ( 06d...09d, 16d...19d) | / | | | | | | RS485/Ethernet| |-----------------------------------------------------------------------------------------------| | 1 | 1 | 1 |ONI M680-33E15-18TIP20 | 192.168.10.74 | 192.168.10.94 | 192.168.10.204| | 2 | 2 | 2 |ONI M680-33E15-18TIP20 | 192.168.10.76 | 192.168.10.96 | 192.168.10.206| | 3 | 3 | 3 |ELHART EMD-MINI-110 T | 192.168.10.73 | 192.168.10.93 | 192.168.10.203| | 4 | 4 | 4 | -63-400 | 192.168.10.77 | - | - | | 5 | 5 | 5\1 |ELHART EMD-PUMP-0370 T | 192.168.10.75 | 192.168.10.95 | 192.168.10.205| | 6 | 7 | 7 |ELHART EMD-PUMP-110 T | 192.168.10.72 | 192.168.10.92 | 192.168.10.202| | 7 | 8 | 8 |ONI M680-33E15-18TIP20 | 192.168.10.71 | 192.168.10.91 | 192.168.10.201| | 8 | 10 | 5\2 |ELHART EMD-PUMP-0370 T | 192.168.10.77 | - | - | | 9 | 21 | 21\1 |ONI M680-33E15-18TIP20 | 192.168.10.78 | - | - | 00d: 1 ( 0,01 ) 02d: --||-- 3 04d: --||-- 5 06d: --||-- 7 08d: --||-- 9 10d: 1 ( 0,01 ) 12d: --||-- 3 14d: --||-- 5 16d: --||-- 7 18d: --||-- 9 0: 1 |